<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>预定义常量</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="uopz.resources.html">« 资源类型</a></li>
      <li style="float: right;"><a href="ref.uopz.html">Uopz 函数 »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="book.uopz.html">uopz</a></li>
    <li>预定义常量</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="uopz.constants" class="appendix">
 <h1>预定义常量</h1>

 <p class="simpara">下列常量由此扩展定义，且仅在此扩展编译入 PHP 或在运行时动态载入时可用。</p>
 <p class="para">
 The following opcodes are defined as constants by uopz before 5.0.0:
 </p>
 <p class="para">
  <dl>
   
    <dt id="constant.zend-exit">
     <strong><code>ZEND_EXIT</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Invoked by exit() and die(), receives no arguments. Return boolean <strong><code>true</code></strong> to exit, <strong><code>false</code></strong> to continue
     </span>
    </dd>

   
   
    <dt id="constant.zend-new">
     <strong><code>ZEND_NEW</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Invoked by object construction, receives the class of object being created as the only argument
     </span>
    </dd>

   
   
    <dt id="constant.zend-throw">
     <strong><code>ZEND_THROW</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Invoked by the throw construct, receives the class of exception being thrown as the only argument
     </span>
    </dd>

   
   
    <dt id="constant.zend-fetch-class">
     <strong><code>ZEND_FETCH_CLASS</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Invoked upon composure, receives the class the name of the class being fetched as the only argument
     </span>
    </dd>

   
   
    <dt id="constant.zend-add-trait">
     <strong><code>ZEND_ADD_TRAIT</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Invoked upon composure, receives the class the trait is being added to as the first argument, and the name of the trait as the second argument
     </span>
    </dd>

   
   
    <dt id="constant.zend-add-interface">
     <strong><code>ZEND_ADD_INTERFACE</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Invoked upon composure, receives the class the interface is being added to as the first argument, and the name of the interface as the second argument
     </span>
    </dd>

   
   
    <dt id="constant.zend-instanceof">
     <strong><code>ZEND_INSTANCEOF</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Invoked by instanceof operator, receives the object being verified as the first argument, and the name of the class which that object should be as the second argument
     </span>
    </dd>

   
  </dl>

 </p>
 <p class="para">
 The following constants control the VM&#039;s behaviour after a user handler is invoked, be extremely careful!
 These constants are removed as of uopz 5.0.0.
 </p>
 <p class="para">
  <dl>
   
    <dt id="constant.zend-user-opcode-continue">
     <strong><code>ZEND_USER_OPCODE_CONTINUE</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Advance 1 opcode and continuue
     </span>
    </dd>

   
   
    <dt id="constant.zend-user-opcode-enter">
     <strong><code>ZEND_USER_OPCODE_ENTER</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Enter into new op_array without recursion
     </span>
    </dd>

   
   
    <dt id="constant.zend-user-opcode-leave">
     <strong><code>ZEND_USER_OPCODE_LEAVE</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Return to calling op_array within the same executor
     </span>
    </dd>

   
   
    <dt id="constant.zend-user-opcode-dispatch">
     <strong><code>ZEND_USER_OPCODE_DISPATCH</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Dispatch to original opcode handler
     </span>
    </dd>

   
   
    <dt id="constant.zend-user-opcode-dispatch-to">
     <strong><code>ZEND_USER_OPCODE_DISPATCH_TO</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Dispatch to a specific handler (OR&#039;d with ZEND opcode constant)
     </span>
    </dd>

   
   
    <dt id="constant.zend-user-opcode-return">
     <strong><code>ZEND_USER_OPCODE_RETURN</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Exit from executor (return from function)
     </span>
    </dd>

   
  </dl>

 </p>
 <p class="para">
 The following modifiers are registered as constants by uopz
 </p>
 <p class="para">
  <dl>
   
    <dt id="constant.zend-acc-public">
     <strong><code>ZEND_ACC_PUBLIC</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Mark function as public, the default
     </span>
    </dd>

   
   
    <dt id="constant.zend-acc-protected">
     <strong><code>ZEND_ACC_PROTECTED</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Mark function as protected
     </span>
    </dd>

   
   
    <dt id="constant.zend-acc-private">
     <strong><code>ZEND_ACC_PRIVATE</code></strong>
     (<span class="type">int</span>)
    </dt>
   
    <dd>

     <span class="simpara"> 
 Mark function as private                       
     </span>
    </dd>

   
   
    <dt id="constant.zend-acc-static">
     <strong><code>ZEND_ACC_STATIC</code></strong>
     (<span class="type">int</span>)
    </dt>
   
    <dd>

     <span class="simpara"> 
 Mark function as static                        
     </span>
    </dd>

   
   
    <dt id="constant.zend-acc-final">
     <strong><code>ZEND_ACC_FINAL</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">  
 Mark function as final 
     </span>
    </dd>
 
   
   
    <dt id="constant.zend-acc-abstract">
     <strong><code>ZEND_ACC_ABSTRACT</code></strong>
     (<span class="type">int</span>)
    </dt>
   
    <dd>
  
     <span class="simpara">
 Mark function as abstract
     </span> 
    </dd>

   
   
    <dt id="constant.zend-acc-class">
     <strong><code>ZEND_ACC_CLASS</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Dummy registered for consistency, the default kind of class entry.
      Removed as of uopz 5.0.0.
     </span>
    </dd>

   
   
    <dt id="constant.zend-acc-interface">
     <strong><code>ZEND_ACC_INTERFACE</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">  
 Mark class as interface.
      Removed as of uopz 5.0.0.
     </span>
    </dd>
 
   
   
    <dt id="constant.zend-acc-trait">
     <strong><code>ZEND_ACC_TRAIT</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">  
 Mark class as trait.
      Removed as of uopz 5.0.0.
     </span>
    </dd>
 
   
   
    <dt id="constant.zend-acc-fetch">
     <strong><code>ZEND_ACC_FETCH</code></strong>
     (<span class="type">int</span>)
    </dt>

    <dd>

     <span class="simpara">
 Used for getting flags only.
      Removed as of uopz 5.0.0.
     </span>
    </dd>

   

  </dl>

 </p>
</div>
</div></div></body></html>